Reading device usability

ABSTRACT

As disclosed herein a method, executed by a computer, for enabling enhanced reading device usability includes detecting, on an electronic device, a read operation that audibly reads visually presented information. The method further includes retrieving from a user profile a first threshold value and a second threshold value. The method further includes analyzing potential distractions to determine an estimated distraction level. The method further includes pausing the read operation if the estimated distraction level is greater than or equal to the first threshold value. The method further includes resuming the read operation if the estimated distraction level is less than or equal to the second threshold value. A computer system, and a computer program product corresponding to the method are also disclosed herein.

BACKGROUND

The present invention relates generally to electronic reading devices,and more particularly to the usability of electronic reading devices.

Screen readers convert information such as text displayed on anelectronic device (e.g., smart phones, tablets, personal computers,laptop computers, e-readers and the like) to audible speech. Printedmedia (e.g., books, magazines, newspapers, etc.) is available to bedigitally downloaded to electronic devices. An electronic book (e.g.,e-book, digital book, or e-edition) is a book-length publication indigital form, consisting of text, images, or both, readable on computersor other electronic devices. E-books are becoming popular for recreationas well as educational uses. Many electronic devices providetext-to-speech capabilities enabling the electronic device to audiblyread media such as e-books. Additionally, screen readers may be used bythe visually impaired to conceptualize the contents being presented onthe display of an electronic device.

SUMMARY

As disclosed herein a method, executed by a computer, includesdetecting, on an electronic device, a read operation that audibly readsvisually presented information. The method further includes retrievingfrom a user profile a first threshold value and a second thresholdvalue. The method further includes analyzing potential distractions todetermine an estimated distraction level. The method further includespausing the read operation if the estimated distraction level is greaterthan or equal to the first threshold value. The method further includesresuming the read operation if the estimated distraction level is lessthan or equal to the second threshold value. A computer system, and acomputer program product corresponding to the method are also disclosedherein.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a functional block diagram depicting a computing environmentin accordance with an embodiment of the present invention;

FIG. 2 is a flowchart depicting a reading device control method, inaccordance with an embodiment of the present invention;

FIG. 3 depicts an example of profile information corresponding to thereading device control method, in accordance with an embodiment of thepresent invention; and

FIG. 4 is a block diagram depicting various components of one embodimentof a computer suitable for executing the methods disclosed herein.

DETAILED DESCRIPTION

Society has become increasingly dependent on electronic devices (e.g.,smart phones, tablets, personal computers, laptop computers, e-readersand the like) for various aspects of day-to-day activities.Traditionally, electronic devices have been used to view email, e-books,webpages, stored document, recipes, and the like. With the advances intext-to-speech technology, many devices are now capable of audiblyreading content that is visually presented to a user.

Electronic devices that read electronic content to a user (also calledreading devices) are becoming more and more popular. Reading devicesprovide both a service and a convenience for users. As a service for thevisually impaired, a screen reader may attempt to identify and interpretwhat is being displayed on the screen of an electronic device, and thenaudibly present the interpreted information to the user usingtext-to-speech technology. As a convenience, an individual may use areading device to listen to digital media (e.g., a book, a newspaperarticle, or email) as the reading device reads the material to them.

If an individual is reading an actual paper book, and becomes distracted(e.g., the phone rings, they receive an instant message, the doorbellrings, or are otherwise diverted from reading), the individual may placea bookmark in the book to indicate where they stopped reading.Embodiments of the present invention recognize that conventional readingdevices continue reading after the individual using the device hasbecome distracted. For example, if an individual is using a readingdevice, and becomes distracted (e.g., the individuals attention becomesdiverted when the phone rings, they receive an instant message, thedoorbell rings, or someone starts talking to them), the reading devicewill continue to read even though the individual is no longer listeningto the device. Additionally, if the individual is listening to a readingdevice in an automobile, and traffic becomes congested, or emergencysirens are detected, the user should pay full attention to the drivingconditions and not pay attention to the reading device. However, thereading device will continue to read even though the individual may notbe able to listen. When the individual is able to resume listening tothe reading device, it may be very difficult to determine where to beginlistening, since the reading device has continued to read while theindividual was distracted. The embodiments disclosed herein generallyaddress and solve the above-described problems.

FIG. 1 is a functional block diagram depicting a computing environment100 in accordance with an embodiment of the present invention. Computingenvironment 100 includes a client computer system 110 and a servercomputer system 190, which can be smart phones, tablets, desktopcomputers, laptop computers, specialized computer servers, or any othercomputer systems known in the art. In some embodiments, client computersystem 110 and server computer system 190 represent computer systemsutilizing clustered computers and components to act as a single pool ofseamless resources when accessed through a network 150. In general,client computer system 110 and server computer system 190 arerepresentative of any electronic devices, or combination of electronicdevices, capable of executing machine-readable program instructions, asdescribed in greater detail with regard to FIG. 4.

Client computer system 110 may include a reading unit 120, a detectionunit 125, control unit 130, and a data store 140. Reading unit 120 maybe configured to enable text-to-speech operations and audibly read anytext being displayed on Client computer system 110. Detection unit 125may be configured to detect potential distractions in the vicinity of auser. Detection unit 125 may interface with various I/O devicesassociated with the client computer system 110 such as a microphone,camera (e.g., a web cam), and the like. Detection unit 125 is depictedas a single module, however, it may be one or more modules configured todetect potential distractions. Detecting potential distractions mayinclude receiving information from services currently running on clientcomputer system 110 (e.g., gaze detection, sound detection, incomingmessages, and the like). Additionally, detecting potential distractionsmay include receiving, via network 150, information (e.g., GlobalPositioning System (GPS) location, traffic conditions, weather advisory,and the like) from services running on a server computer, such as,server computer system 190 or on another device (not shown) connectedover network 150. Control unit 130 may be configured to receive, fromdetection unit 125, information corresponding to potential distractionsand determine if the operation of reading unit 120 should be altered(e.g., slowed down, stopped, or restarted). A more detailed descriptionof controlling a reading device, as executed by one embodiment ofcontrol unit 130, is included with respect to FIG. 2.

Data store 140 may store digital media (e.g., books, email, wordprocessor documents, and the like). Additionally, data store 140 maystore profile information (e.g., as depicted in FIG. 3) corresponding toa reading device control method (e.g., as depicted in FIG. 2). Datastore 140 may be any non-volatile storage media known in the art. Forexample, data store 140 can be implemented with a tape library, opticallibrary, one or more independent hard disk drives, or multiple hard diskdrives in a redundant array of independent disks (RAID). Similarly, dataon data store 140 may conform to any suitable storage architecture knownin the art, such as a file, a relational database, an object-orienteddatabase, and/or one or more tables.

As depicted, server computer system 190 includes a media service 160 anda data service 170. Although depicted as a single service, media service160 may be one or more services for providing digital media. Included inthe one or more services may be an electronic book service (e.g.,electronic copies of printed books), an email service, or a social mediawebsite. The digital media may be remotely accessed via network 150, andmay be stored on data store 140. Data service 170 may provide detectionunit 125 with details identifying a potential distraction. As depicted,data service 170 is a single service, however, data service 170 may beone or more services providing, for example, but not limited to, GPScoordinates, traffic information, or weather information.

Network 150 can be, for example, a local area network (LAN), a wide areanetwork (WAN) such as the Internet, or a combination of the two, andinclude wired, wireless, or fiber optic connections. In general, network150 can be any combination of connections and protocols that willsupport communications between server computer system 190 and clientcomputer system 110 in accordance with an embodiment of the presentinvention.

FIG. 2 is a flowchart depicting a reading device control method 200, inaccordance with an embodiment of the present invention. As depicted,reading device control method 200 includes detecting (210) a readoperation, receiving (220) threshold values, analyzing (230) readingdistractions, determining (240) whether the environment is distracting,pausing (250) reading, determining (260) whether the environment isconducive to reading, resuming (270) reading, and determining (280)whether there is more to read. Reading device control method 200 enablesa reading device to react to potential distractions that may cause theuser to become distracted.

Detecting (210) a read operation may include control unit 130 receivingan indication that a reading unit, such as reading unit 120, isconducting a read operation. In some embodiments, control unit 130 usessystem commands to detect when reading unit 120 is conducting a readoperation. In other embodiments, reading unit 120 produces a signal(e.g., electronic indicator or electronic message) when reading unit 120is actively reading. For example, control unit 130 may detect an activeread operation by detecting or receiving the signal (not shown) producedby reading unit 120.

Receiving (220) threshold values may include control unit 130 receivinga first threshold value and a second threshold value that may beretrieved from a user profile corresponding to control unit 130. A moredetailed description of an example of a user profile is included withrespect to FIG. 3. The first threshold value may indicate an estimateddistraction level at which control unit 130 pauses reading unit 120. Thesecond threshold value may indicate an estimated distraction level atwhich control unit 130 allows reading unit 120 to resume reading. Insome embodiments, the estimated distraction level is computed byaccumulating a set of numerical weighted values, corresponding topotential reading distractions. Crossing the first and second thresholdvalues may cause control unit 130 to take an action (e.g., pausing orresuming the reading operation). In other embodiments, the estimateddistraction level is computed by counting a total number of concurrentpotential distractions. A change in the number of distractions may causecontrol unit 130 to take an action (e.g., 3 or more distractions causesreading to pause, and less than 2 distractions causes reading toresume).

Analyzing (230) reading distractions may include control unit 130receiving a list of potential distractions that may be retrieved from auser profile. The list of potential distractions may include, but is notlimited to, data entry activity, messaging activity, voice detection,and the like. Using the list of potential distractions, control unit 130may assess the user's environment to determine if any of thedistractions included in the list of potential distractions haveoccurred. In some embodiments, control unit 130 receives informationidentifying a potential distraction within the user's environment fromone or more services running on the local device (e.g., detection unit125). In other embodiments, control unit 130 receives informationidentifying a potential distraction within the user's environment fromone or more services provided by a remote server (e.g., data service170). In another embodiment, each distraction in the list of potentialdistractions includes a corresponding numerical weight. In thisembodiment, control unit 130 accumulates the numerical weightscorresponding to potential distractions identified within theenvironment, and thereby provides an estimated distraction level.

Determining (240) whether the environment is distracting may includecontrol unit 130 comparing the first distraction value with an estimateddistraction level. If the estimated distraction level is greater than orequal to the first distraction value, then reading device control method200 proceeds to pausing (250) reading. Otherwise, reading device controlmethod 200 proceeds to determining (260) whether the environment isconducive to reading.

Pausing (250) reading may include control unit 130 requesting thatreading unit 120 pause (e.g., stop or halt) the reading operation. Insome embodiments, control unit 130 pauses reading unit 120 and alsoidentifies the last location in the text processed by reading unit 120.In other embodiments, control unit 130 causes reading unit 120 to slowthe reading pace to accommodate a distraction (e.g., keyboard activity,and/or mouse activity) and if the estimated distraction level persistsor increases in value, the reading operation will be paused (e.g.halted).

Determining (260) whether the environment is conducive to reading mayinclude control unit 130 comparing the second distraction value with anestimated distraction level. If the estimated distraction level is lessthan or equal to the second distraction value, then reading devicecontrol method 200 proceeds to resuming (270) reading. Otherwise,reading device control method 200 proceeds to determining (280) whetherthere is more to read.

Resuming (270) reading may include control unit 130 requesting thatreading unit 120 resume the reading operation. In some embodiments, theread operation resumes in the exact location that reading was paused. Inother embodiments, the last location in the text to be read has beenpreserved, however, the reading operation automatically moves back oneminute to account for the possibility that the user may have beendistracted before control unit 130 detected and reacted to the estimateddistraction level. In yet another embodiment, the last location in thetext is not preserved, and the reading operation resumes at thebeginning of most recent unit of reading (e.g., the beginning of anemail, the beginning of a page of a book or document, and the like).

Determining (280) whether there is more to read may include control unit130 detecting if reading unit 120 is still active and attempting toperform a reading operation. In some embodiments, reading unit 120 is ascreen reading application that continuously describes a computer screento a visually impaired user, and is continually running. In otherembodiments, reading unit 120 is an e-book reader, and is configured toread a portion of the e-book for a configurable duration and then stop.When the reading duration has elapsed, reading unit 120 may indicatethere is nothing more to read.

FIG. 3 depicts example profile information 300, in accordance with anembodiment of the present invention. FIG. 3 provides only anillustration of one example and does not imply any limitations withregard to different potential distractions that may be included in otherembodiments. In the depicted example, profile information 300 includesan example of local profile 310 and mobile profile extension 330. Localprofile 310 comprises potential local distractions that may be presentin the current listening environment of the user. The local environmentmay be defined as the user's immediate surroundings, for example, at theoffice, in the home, sitting in a park, sitting in a café, or anylocation that a user may listen to a reading device.

In the depicted example, local profile 310 and mobile profile extension330 comprise configuration elements 321-329 and 341-345, respectively.Using the depicted configuration elements, potential distractions areassigned a numerical weight within the range 0-100, with zero indicatingno importance, and 100 indicating the potential distraction is veryimportant. If control unit 130 detects (i.e., identifies) a potentialdistraction in the user's environment, the numerical weightcorresponding to the distraction is accumulated producing an estimateddistraction level. When the estimated distraction level reaches aconfigured threshold, control unit 130 may take actions to either pauseor resume the operation of a reading application (e.g. reading unit120).

Configuration element 321 allows configuration of a pause-readingthreshold (i.e., a first threshold) configuration item. Control unit 130may pause a reading application (e.g. reading unit 120) if the estimateddistraction level is greater than or equal to the value corresponding tothe pause-reading threshold as identified in configuration element 321.Configuration element 322 allows configuration of a resume-readingthreshold (i.e., second threshold) configuration item. A readingapplication (e.g. reading unit 120) may be enabled to resume reading bycontrol unit 130 if the estimated distraction level is less than orequal to the value corresponding to the resume-reading threshold asidentified in element 322.

In some embodiments, the pause-reading threshold is greater than theresume-reading threshold. In other embodiments, the pause-readingthreshold and the resume-reading threshold are represented by a singleconfiguration value. Configuration elements 323-329 enable the user toassign a numerical weight to each of the potential distractionsidentified in the user profile. Following is a description ofconfiguration elements 323-329.

Configuration element 323 enables the user to indicate a numericalweight corresponding to a user gaze configuration item. User gaze may bedefined as detecting where the user's eyes are focused (e.g., where theuser is looking). If detection unit 125 determines that the user is notfocused on the display or monitor of the reading device, then thenumerical weight corresponding to the gaze configuration item isincluded in the estimated distraction level. In the current example, thenumerical weight corresponding to the user gaze configuration item iszero, indicating that the user does not want the focus of the user'seyes to have an effect on the estimated distraction level.

Configuration element 324 enables the user to indicate a numericalweight corresponding to a data entry activity configuration item. Dataentry activity may include using a physical keyboard or virtual keyboardto provide input to the electronic device performing the readingoperation. If detection unit 125 determines that the user is performinga data entry activity, then the numerical weight corresponding to thedata entry activity configuration item is included in the estimateddistraction level. In the current example, the numerical weightcorresponding to the data entry activity configuration item is 30.

Configuration element 325 enables the user to indicate a numericalweight corresponding to a pointing device activity configuration item.Pointing device activity may include using a mouse, track ball,touchpad, touch screen, or the like to move a pointer (or cursor). Ifdetection unit 125 determines that the user is using a pointing device,then the numerical weight corresponding to the pointing device activityconfiguration item is included in the estimated distraction level. Inthe current example, the numerical weight corresponding to the pointingdevice activity configuration item is 20.

Configuration element 326 enables the user to indicate a numericalweight corresponding to a messaging activity configuration item.Messaging activity may include the electronic device (e.g., clientcomputer system 110) receiving some form of electronic message. Themessage may be an instant message, a test message, a voicemail, a pageralert, or the like and may be presented as a popup window, included inan existing window, or some other method of presentation. If detectionunit 125 detects messaging activity, then the numerical weightcorresponding to the messaging activity configuration item is includedin the estimated distraction level. In the current example, thenumerical weight corresponding to the messaging activity configurationitem is 50.

Configuration element 327 enables the user to indicate a numericalweight corresponding to an incoming call configuration item. An incomingcall may include receiving a call via land-line, cell phone, smartphone, tablet, personal computer, or any other device capable ofreceiving an incoming call. The call may be a traditional phone call, awireless phone call, a video call using peer-to-peer computerconnections, and the like. If detection unit 125 detects an incomingcall, then the numerical weight corresponding to the incoming callconfiguration item is included in the estimated distraction level. Inthe current example, the numerical weight corresponding to an incomingcall configuration item is 100, indicating that the user feels anincoming call is a major distraction, and should immediately push theestimated distraction level above the pause-reading threshold (asdefined by configuration element 321).

Configuration element 328 enables the user to indicate a numericalweight corresponding to a doorbell configuration item. A doorbell may bea signaling device placed near an entry door used by a visitor to alertthe occupant of the visitor's presence. A doorbell may include anelectronic sound, a metal on metal knocking sound, a hand knocking onthe door sound, and the like. If detection unit 125 detects a doorbell,then the numerical weight corresponding to the doorbell configurationitem is included in the estimated distraction level. In the currentexample, the numerical weight corresponding to the doorbellconfiguration item is 80.

Configuration element 329 enables the user to indicate a numericalweight corresponding to a voice detection configuration item. Voicedetection may include an individual speaking directly to the user, adiscussion between two or more individuals in near proximity to theuser, or any other voice disturbances in near proximity to the user. Ifdetection unit 125 detects voices, then the numerical weightcorresponding to the voice detection configuration item is included inthe estimated distraction level. In the current example, the numericalweight corresponding to the voice detection configuration item is 50.

Mobile profile extension 330 comprises potential mobile distractionsthat may be present when the user is mobile (e.g., driving anautomobile, riding a train, walking, and the like). Configurationelement 341 allows the user to enable or disable the inclusion aselectable mobile profile extension comprising configuration itemscorresponding to mobile profile extension 330 within the profile.

Configuration element 342 enables the user to indicate a numericalweight corresponding to an emergency siren configuration item. Anemergency siren may include any siren associated with an emergencyvehicle, such as, but not limited to a police car, a fire truck, anambulance, or a park ranger. If detection unit 125 or some other service(e.g., data service 170) detects an emergency siren, then the numericalweight corresponding to the emergency siren configuration item isincluded in the estimated distraction level. In the current example, thenumerical weight corresponding to an emergency siren configuration itemis 100, indicating that the user feels an emergency siren is a majordistraction, and should immediately push the estimated distraction levelabove the pause-reading threshold (as defined by configuration element321).

Configuration element 343 enables the user to indicate a numericalweight corresponding to a heavy traffic alert configuration item. Aheavy traffic alert may include a GPS warning that there is heavytraffic along your intended path of travel, an emergency warningtransmitted over radio frequencies, internet mapping services, or thelike. If detection unit 125 or some other service (e.g., data service170) detects a heavy traffic alert, then the numerical weightcorresponding to the heavy traffic alert configuration item is includedin the estimated distraction level. In the current example, thenumerical weight corresponding to an emergency siren configuration itemis 30.

Configuration element 344 enables the user to indicate a numericalweight corresponding to an accident alert configuration item. Anaccident alert may indicate there is an accident within a mile of theuser's current location. An accident alert may be received from servicessuch as an emergency warning transmitted over radio frequencies,internet mapping services, or the like. If detection unit 125 or someother service (e.g., data service 170) detects an accident alert, thenthe numerical weight corresponding to the accident alert configurationitem is included in the estimated distraction level. In the currentexample, the numerical weight corresponding to an emergency sirenconfiguration item is 40.

Configuration element 345 enables the user to indicate a numericalweight corresponding to a weather advisory configuration item. A weatheradvisory may warn the user of potentially dangerous weather (e.g., atornado, freezing rain, heavy snow, heavy rain, and the like) near theuser's current location. A weather advisory may be received fromservices such as the National Weather Service, internet weather sites,local radio stations, and the like. If detection unit 125 or some otherservice (e.g., data service 170) detects a weather advisory, then thenumerical weight corresponding to the weather advisory configurationitem is included in the estimated distraction level. In the currentexample, the numerical weight corresponding to an emergency sirenconfiguration item is 40.

The current example presents a single profile. In other embodiments, theuser may have multiple profiles for various environments. For example,the user may have unique profiles for the office, traveling on the bus,driving a car, and sitting in a café. In another embodiment, controlunit 130 senses the current environment of the device and automaticallyselects an available profile that is appropriate for the environment. Insome other embodiment, control unit 130 detects a change in environmentand prompts the user to determine if a profile change is required. Inyet another embodiment, control unit 130 delays the presentation ofmessages and popups by enabling a do-not-disturb profile setting.

FIG. 4 depicts a block diagram of components of a computer system 400,which is an example of a system such as client computer system 110within computing environment 100 of FIG. 1, in accordance with anembodiment of the present invention. It should be appreciated that FIG.4 provides only an illustration of one implementation and does not implyany limitations with regard to the environments in which differentembodiments can be implemented. Many modifications to the depictedenvironment can be made.

Client computer system 110 includes processor(s) 404, cache 414, memory406, persistent storage 408, communications unit 410, input/output (I/O)interface(s) 412 and communications fabric 402. Communications fabric402 provides communications between cache 414, memory 406, persistentstorage 408, communications unit 410, and input/output (I/O)interface(s) 412. Communications fabric 402 can be implemented with anyarchitecture designed for passing data and/or control informationbetween processors (such as microprocessors, communications and networkprocessors, etc.), system memory, peripheral devices, and any otherhardware components within a system. For example, communications fabric402 can be implemented with one or more buses.

Memory 406 and persistent storage 408 are computer readable storagemedia. In this embodiment, memory 406 includes random access memory(RAM). In general, memory 406 can include any suitable volatile ornon-volatile computer readable storage media. Cache 414 is a fast memorythat enhances the performance of processor(s) 404 by holding recentlyaccessed data, and data near recently accessed data, from memory 406.

Program instructions and data used to practice embodiments of thepresent invention, e.g., data store 140, reading device control method200, and profile information 300, are stored in persistent storage 408for execution and/or access by one or more of the respectiveprocessor(s) 404 via cache 414. In this embodiment, persistent storage408 includes a magnetic hard disk drive. Alternatively, or in additionto a magnetic hard disk drive, persistent storage 408 can include asolid-state hard drive, a semiconductor storage device, a read-onlymemory (ROM), an erasable programmable read-only memory (EPROM), a flashmemory, or any other computer readable storage media that is capable ofstoring program instructions or digital information.

The media used by persistent storage 408 may also be removable. Forexample, a removable hard drive may be used for persistent storage 408.Other examples include optical and magnetic disks, thumb drives, andsmart cards that are inserted into a drive for transfer onto anothercomputer readable storage medium that is also part of persistent storage408.

Communications unit 410, in these examples, provides for communicationswith other data processing systems or devices, including resourcesclient computer system 110. In these examples, communications unit 410includes one or more network interface cards. Communications unit 410may provide communications through the use of either or both physicaland wireless communications links. Program instructions and data used topractice embodiments of data store 140, reading device control method200, and profile information 300 may be downloaded to persistent storage408 through communications unit 410.

I/O interface(s) 412 allows for input and output of data with otherdevices that may be connected to each computer system. For example, I/Ointerface(s) 412 may provide a connection to external device(s) 416 suchas a keyboard, a keypad, a touch screen, a microphone, a digital camera,and/or some other suitable input device. External device(s) 416 can alsoinclude portable computer readable storage media such as, for example,thumb drives, portable optical or magnetic disks, and memory cards.Software and data used to practice embodiments of the present inventioncan be stored on such portable computer readable storage media and canbe loaded onto persistent storage 408 via I/O interface(s) 412. I/Ointerface(s) 412 also connect to a display 418.

Display 418 provides a mechanism to display data to a user and may be,for example, a computer monitor.

The programs described herein are identified based upon the applicationfor which they are implemented in a specific embodiment of theinvention. However, it should be appreciated that any particular programnomenclature herein is used merely for convenience, and thus theinvention should not be limited to use solely in any specificapplication identified and/or implied by such nomenclature.

The present invention may be a system, a method, and/or a computerprogram product. The computer program product may include a computerreadable storage medium (or media) having computer readable programinstructions thereon for causing a processor to carry out aspects of thepresent invention.

The computer readable storage medium can be a tangible device that canretain and store instructions for use by an instruction executiondevice. The computer readable storage medium may be, for example, but isnot limited to, an electronic storage device, a magnetic storage device,an optical storage device, an electromagnetic storage device, asemiconductor storage device, or any suitable combination of theforegoing. A non-exhaustive list of more specific examples of thecomputer readable storage medium includes the following: a portablecomputer diskette, a hard disk, a random access memory (RAM), aread-only memory (ROM), an erasable programmable read-only memory (EPROMor Flash memory), a static random access memory (SRAM), a portablecompact disc read-only memory (CD-ROM), a digital versatile disk (DVD),a memory stick, a floppy disk, a mechanically encoded device such aspunch-cards or raised structures in a groove having instructionsrecorded thereon, and any suitable combination of the foregoing. Acomputer readable storage medium, as used herein, is not to be construedas being transitory signals per se, such as radio waves or other freelypropagating electromagnetic waves, electromagnetic waves propagatingthrough a waveguide or other transmission media (e.g., light pulsespassing through a fiber-optic cable), or electrical signals transmittedthrough a wire.

Computer readable program instructions described herein can bedownloaded to respective computing/processing devices from a computerreadable storage medium or to an external computer or external storagedevice via a network, for example, the Internet, a local area network, awide area network and/or a wireless network. The network may comprisecopper transmission cables, optical transmission fibers, wirelesstransmission, routers, firewalls, switches, gateway computers and/oredge servers. A network adapter card or network interface in eachcomputing/processing device receives computer readable programinstructions from the network and forwards the computer readable programinstructions for storage in a computer readable storage medium withinthe respective computing/processing device.

Computer readable program instructions for carrying out operations ofthe present invention may be assembler instructions,instruction-set-architecture (ISA) instructions, machine instructions,machine dependent instructions, microcode, firmware instructions,state-setting data, or either source code or object code written in anycombination of one or more programming languages, including an objectoriented programming language such as Smalltalk, C++ or the like, andconventional procedural programming languages, such as the “C”programming language or similar programming languages. The computerreadable program instructions may execute entirely on the user'scomputer, partly on the user's computer, as a stand-alone softwarepackage, partly on the user's computer and partly on a remote computeror entirely on the remote computer or server. In the latter scenario,the remote computer may be connected to the user's computer through anytype of network, including a local area network (LAN) or a wide areanetwork (WAN), or the connection may be made to an external computer(for example, through the Internet using an Internet Service Provider).In some embodiments, electronic circuitry including, for example,programmable logic circuitry, field-programmable gate arrays (FPGA), orprogrammable logic arrays (PLA) may execute the computer readableprogram instructions by utilizing state information of the computerreadable program instructions to personalize the electronic circuitry,in order to perform aspects of the present invention.

Aspects of the present invention are described herein with reference toflowchart illustrations and/or block diagrams of methods, apparatus(systems), and computer program products according to embodiments of theinvention. It will be understood that each block of the flowchartillustrations and/or block diagrams, and combinations of blocks in theflowchart illustrations and/or block diagrams, can be implemented bycomputer readable program instructions.

These computer readable program instructions may be provided to aprocessor of a general purpose computer, special purpose computer, orother programmable data processing apparatus to produce a machine, suchthat the instructions, which execute via the processor of the computeror other programmable data processing apparatus, create means forimplementing the functions/acts specified in the flowchart and/or blockdiagram block or blocks. These computer readable program instructionsmay also be stored in a computer readable storage medium that can directa computer, a programmable data processing apparatus, and/or otherdevices to function in a particular manner, such that the computerreadable storage medium having instructions stored therein comprises anarticle of manufacture including instructions which implement aspects ofthe function/act specified in the flowchart and/or block diagram blockor blocks.

The computer readable program instructions may also be loaded onto acomputer, other programmable data processing apparatus, or other deviceto cause a series of operational steps to be performed on the computer,other programmable apparatus or other device to produce a computerimplemented process, such that the instructions which execute on thecomputer, other programmable apparatus, or other device implement thefunctions/acts specified in the flowchart and/or block diagram block orblocks.

The flowchart and block diagrams in the Figures illustrate thearchitecture, functionality, and operation of possible implementationsof systems, methods, and computer program products according to variousembodiments of the present invention. In this regard, each block in theflowchart or block diagrams may represent a module, segment, or portionof instructions, which comprises one or more executable instructions forimplementing the specified logical function(s). In some alternativeimplementations, the functions noted in the block may occur out of theorder noted in the figures. For example, two blocks shown in successionmay, in fact, be executed substantially concurrently, or the blocks maysometimes be executed in the reverse order, depending upon thefunctionality involved. It will also be noted that each block of theblock diagrams and/or flowchart illustration, and combinations of blocksin the block diagrams and/or flowchart illustration, can be implementedby special purpose hardware-based systems that perform the specifiedfunctions or acts or carry out combinations of special purpose hardwareand computer instructions.

What is claimed is:
 1. A method comprising: detecting, on an electronicdevice, a read operation that audibly reads visually presentedinformation; retrieving from a user profile a first threshold value anda second threshold value; analyzing potential distractions to providepreliminary distraction measurements associated with each distraction,wherein each preliminary distraction measurement corresponds to ameasured value; calculating a numerical weight corresponding to eachpotential distraction by altering the preliminary distractionmeasurements according to a corresponding weight preference indicated bya profile, wherein the weight preference indicates how to alter themeasured value corresponding to the potential distraction to provide thenumerical weight; determining the estimated distraction level based onan accumulation of the numerical weights associated with eachdistraction; determining if the estimated distraction level is greaterthan or equal to the first threshold level; pausing the read operationresponsive to determining that the estimated distraction level isgreater than or equal to the first threshold value; determining if theestimated distraction level is less than or equal to the secondthreshold level; and resuming the read operation responsive todetermining that the estimated distraction level is less than or equalto the second threshold value.
 2. The method of claim 1, wherein thefirst threshold value is greater than the second threshold value.
 3. Themethod of claim 1, wherein the user profile comprises one or morepotential local distractions, the one or more potential localdistractions each comprising a numerical weight.
 4. The method of claim1, wherein the user profile comprises a selectable mobile profileextension, the mobile profile extension providing one or more potentialmobile distractions each comprising a numerical weight.
 5. The method ofclaim 1, wherein analyzing the potential distractions comprisesdetecting any of one or more potential local distractions and one ormore potential mobile distractions.
 6. The method of claim 1, whereinpausing the read operation comprises halting the read operation, andidentifying a location in the visually presented information where theread operation was halted.
 7. The method of claim 6, wherein resumingthe read operation comprises starting the read operation beginning atthe location in the visually presented information where the readoperation was halted.
 8. A computer program product comprising: one ormore computer readable storage media and program instructions stored onthe one or more computer readable storage media, the programinstructions comprising instructions to: detect a read operation on anelectronic device that audibly reads visually presented information;retrieve from a user profile a first threshold value and a secondthreshold value; analyze potential distractions to provide preliminarydistraction measurements associated with each distraction, wherein eachpreliminary distraction measurement corresponds to a measured value;calculate a numerical weight corresponding to each potential distractionby altering the preliminary distraction measurements according to acorresponding weight preference indicated by a profile, wherein theweight preference indicates how to alter the measured valuecorresponding to the potential distraction to provide the numericalweight; determine the estimated distraction level based on anaccumulation of the numerical weights associated with each distraction;determine if the estimated distraction level is greater than or equal tothe first threshold level; pause the read operation responsive todetermining that the estimated distraction level is greater than orequal to the first threshold value; determine if the estimateddistraction level is less than or equal to the second threshold level;and resume the read operation responsive to determining that theestimated distraction level is less than or equal to the secondthreshold value.
 9. The computer program product of claim 8, wherein thefirst threshold value is greater than the second threshold value. 10.The computer program product of claim 8, wherein the user profilecomprises one or more potential local distractions, the one or morepotential local distractions each comprising a numerical weight.
 11. Thecomputer program product of claim 8, wherein the user profile comprisesa selectable mobile profile extension, the mobile profile extensionproviding one or more potential mobile distractions each comprising anumerical weight.
 12. The computer program product of claim 8, whereinthe instructions to analyze potential distractions comprise instructionsto detect any of one or more potential local distractions and one ormore potential mobile distractions.
 13. The computer program product ofclaim 8, wherein the instructions to pause the read operation compriseinstructions to halt the read operation, and identify a location in thevisually presented information where the read operation was halted. 14.The computer program product of claim 13, wherein the instructions toresume the read operation comprise instructions to start the readoperation beginning at the location in the visually presentedinformation where the read operation was halted.
 15. A computer systemcomprising: one or more computer processors; one or more computerreadable storage media; program instructions stored on the computerreadable storage media for execution by at least one of the computerprocessors, the program instructions comprising instructions to: detecta read operation on an electronic device that audibly reads visuallypresented information; retrieve from a user profile a first thresholdvalue and a second threshold value; analyze potential distractions toprovide preliminary distraction measurements associated with eachdistraction, wherein each preliminary distraction measurementcorresponds to a measured value; calculate a numerical weightcorresponding to each potential distraction by altering the preliminarydistraction measurements according to a corresponding weight preferenceindicated by a profile, wherein the weight preference indicates how toalter the measured value corresponding to the potential distraction toprovide the numerical weight; determine the estimated distraction levelbased on an accumulation of the numerical weights associated with eachdistraction; determine if the estimated distraction level is greaterthan or equal to the first threshold level; pause the read operationresponsive to determining that the estimated distraction level isgreater than or equal to the first threshold value; determine if theestimated distraction level is less than or equal to the secondthreshold level; and resume the read operation responsive to determiningthat the estimated distraction level is less than or equal to the secondthreshold value.
 16. The computer system of claim 15, wherein the firstthreshold value is greater than the second threshold value.
 17. Thecomputer system of claim 15, wherein the user profile comprises one ormore potential local distractions, the one or more potential localdistractions each comprising a numerical weight.
 18. The computer systemof claim 15, wherein the instructions to analyze potential distractionscomprise instructions to detect any of one or more potential localdistractions and one or more potential mobile distractions.
 19. Thecomputer system of claim 15, wherein the instructions to pause the readoperation comprise instructions to halt the read operation, and identifya location in the visually presented information where the readoperation was halted.
 20. The computer system of claim 19, wherein theinstructions to resume the read operation comprise instructions to startthe read operation beginning at the location in the visually presentedinformation where the read operation was halted.